using System;

namespace Synapse.Framework.AoP.Attributes.Core
{
    [AttributeUsage(AttributeTargets.Class, AllowMultiple = false)]
    public class InterceptorClassAttribute : Attribute
    {
        private readonly Type type;

        public Type Type ()
        {
            return type;
        }

        public InterceptorClassAttribute(Type type)
        {
            this.type = type;
        }
    }

    [AttributeUsage(AttributeTargets.Method, AllowMultiple = false)]
    public class InterceptorMethodAttribute : Attribute
    {
        private readonly Type type;

        public Type Type()
        {
            return type;
        }

        public InterceptorMethodAttribute(Type type)
        {
            this.type = type;
        }
    }
}